cmake_minimum_required(VERSION 3.1)
project(dandere2x_cpp)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
find_package(OpenMP)
if (OPENMP_FOUND)
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_executable(dandere2x_cpp main.cpp frame/Frame.cpp frame/Frame.h evaluator/MSE_Function.h evaluator/MSE_Function.cpp evaluator/SSIM_Function.cpp evaluator/SSIM_Function.h plugins/AbstractPlugin.h plugins/predictive_frame/PredictiveFrame.cpp plugins/predictive_frame/PredictiveFrame.h plugins/block_plugins/Block.h plugins/block_plugins/Block.cpp plugins/block_plugins/block_matching/DiamondSearch.cpp plugins/block_plugins/block_matching/DiamondSearch.h plugins/block_plugins/block_matching/ExhaustiveSearch.cpp plugins/block_plugins/block_matching/ExhaustiveSearch.h frame/external_headers/stb_image.h evaluator/AbstractEvaluator.h plugins/block_plugins/block_matching/AbstractBlockMatch.h frame/Frame_Utilities.h driver.h frame/lab_utilities.h dandere2x_utilities.h plugins/frade_frame/FadeFrame.cpp plugins/frade_frame/FadeFrame.h easyloggingpp/easylogging++.h easyloggingpp/easylogging++.cc dandere2x_utilities.cpp)